import { createPinia } from 'pinia';
import piniaPersist from 'pinia-plugin-persist-uni';

// 自动注入所有pinia模块
const files = import.meta.glob('./*.js', { eager: true });
const modules = {};
Object.keys(files).forEach((key) => {
    modules[key.replace(/(.*\/)*([^.]+).*/gi, '$2')] = files[key].default;
});

export const setupPinia = (app) => {
    const pinia = createPinia();
    pinia.use(piniaPersist);
    app.use(pinia);
};

export const useStore = (name) => {
    if (!modules[name]) {
        console.error(`未找到名为 ${name} 的 store 模块`);
        return null;
    }
    if (typeof modules[name] !== 'function') {
        console.error(`名为 ${name} 的 store 模块默认导出不是一个函数`, modules[name]);
        return null;
    }
    return modules[name]();
};

export default (name) => {
    return useStore(name);
};